$(function () {
    layui.use(['form', 'layer', 'jquery', 'upload'],
        function () {
            $ = layui.jquery;
            let form = layui.form,
                layer = layui.layer,
                upload = layui.upload;

            //自定义验证规则
            form.verify({
                productTypeID: function (value) {
                    if (value === '') {
                        return '请选择产品类型';
                    }
                },
                // pass: [/(.+){6,18}$/, '密码必须6到18位'],
                // repass: function (value) {
                //     if ($('#L_pass').val() != $('#L_repass').val()) {
                //         return '两次密码不一致';
                //     }
                // }
            });

            //监听提交
            form.on('submit(update)', function (data) {
                let res = request('http://localhost:8080/admin/product/update', 'post', data.field)
                if (res.code === 0) {
                    layer.alert("修改成功", {
                            icon: 6
                        },
                        function () {
                            //关闭当前frame
                            xadmin.close();

                            // 可以对父窗口进行刷新
                            xadmin.father_reload();
                        });
                } else {
                    layer.alert("修改失败", {
                            icon: 7
                        },
                        function () {
                            //关闭当前frame
                            xadmin.close();
                        })
                }
                return false;
            });

            //图片上传
            let uploadInst = upload.render({
                elem: '#upload'
                , url: 'http://localhost:8080/upload' //此处用的是第三方的 http 请求演示，实际使用时改成您自己的上传接口即可。
                , before: function (obj) {
                    //预读本地文件示例，不支持ie8
                    obj.preview(function (index, file, result) {
                        $('#img').attr('src', result); //图片链接（base64）
                    });
                    layer.msg('上传中', {icon: 16, time: 0});
                }
                , done: function (res) {
                    //如果上传失败
                    if (res.code > 0) {
                        return layer.msg('上传失败');
                    }
                    //上传成功的一些操作
                    //……
                    layer.msg('上传完毕', {icon: 1});
                    $('#imageLocation').attr('value', res.data)
                    $('#demoText').html(''); //置空上传失败的状态
                }
                , error: function () {
                    //演示失败状态，并实现重传
                    let demoText = $('#demoText');
                    demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
                    demoText.find('.demo-reload').on('click', function () {
                        uploadInst.upload();
                    });
                }
            });
        });

    //表格初始化
    let productId = sessionStorage.getItem('productId')
    let res = request('http://localhost:8080/admin/product/findById', 'post', {id: productId})
    $('#id').attr('value', res.data.id)
    $('#productName').attr('value', res.data.productName)
    $('#price').attr('value', res.data.price)
    $('#imageLocation').attr('value', res.data.imageLocation)
    $('#img').attr('src', res.data.imageLocation)
    $('#remark').attr('value', res.data.remark)
    initSelect(res.data.productType.id)
})


//初始化下拉菜单
function initSelect(val) {
    layui.use("form", function () {
        let form = layui.form;
        //动态显示下拉框并回显内容
        let res = request("http://localhost:8080/admin/productType/findAll", 'get', null)
        let data = res.data;
        let options = '';
        for (let i = 0; i < data.length; i++) {
            if (data[i].enable === 1)
                options += '<option value="' + data[i].id + '">' + data[i].productTypeName + '</option>';
        }
        let productTypeID = $("#productTypeID");
        productTypeID.append(options);
        $('#productTypeID').val(val)
        form.render();
    });
}